iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0

昨天(Laravel起手式&Nginx設定)我們在Laradock裡面創建了Nginx檔案,
Nginx是網路伺服器,幫助瀏覽器找到正確的檔案位置。

Nginx是什麼

Nginx 是一個反向代理伺服器,代理要被訪問的資源。

說到反向,那正向是什麼呢?正向代理是代理客戶端,通常就是我們啦!
例如常見的正向代理:VPN,幫助我們保護IP,繞過一些區域性的限制,並提高我們的訪問速度,
訪問伺服器。

而反向代理反過來就是代理伺服器,
如這邊解釋,就是會幫你轉到內網去取得我們的資源。

可以幫伺服器先監控第一層訪問,防止網路攻擊,
並控制訪問量,做負載平衡。

反向代理

啟動Nginx反向代理後,其實就是在80端口啟動Socket服務進行監聽,
如圖,Nginx涉及Master進程和Worker進程。

socket

訪問量太大的話,nginx可以將請求分配給不同伺服器(upstream),
但現階段也用不到,我們先有基本概念就好。

laradock用的 conf 檔案

就從上一篇用到的career-expo.conf 探討一下conf檔案吧

  • listen 80: 監聽端口
  • server_name: 我們資源所匹配的域名
  • root: 默認的目錄口
  • index: 默認文件
  • location /: try files 會一個一個匹配對應的檔案
  • error_log & access_log: 放置log的地方
  • #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。

BTW,為什麼是80 port:
80是http協議的默認端口,在默認情況下,端口80(port 80)是伺服器監聽網頁客戶端請求的端口,在輸入網址時其實瀏覽器就幫我們輸入協議了,所以當我們在輸入http時(如http://ithelp.ithome.com.tw/) ,其實就是訪問80端口 (http://ithelp.ithome.com.tw/:80)
引用:
80端口、8080端口和443端口是什么用的

laradock的nginx
範例檔案

server {

    listen 80;
    listen [::]:80;

    server_name career-expo.localhost;
    root /var/www/rachel-projects/career-expo/public;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }

    error_log /var/log/nginx/laravel_error.log;
    access_log /var/log/nginx/laravel_access.log;
}

之後有機會再深入探討!

參考

万字长文看Nginx配置详解!
为什么要使用Nginx


上一篇
Laravel起手式&Nginx設定-Day03
下一篇
Laravel-資料的大遷徙Migration-Day05
系列文
前輩說Laravel不難,好啊那就1人前後端試試看啊31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言